﻿#define  _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//#include <string.h>
//输入两个字符串，从第一字符串中删除第二个字符串中所有的字符。
//例如，输入”They are students.”和”aeiou”，则删除之后的第一个字符串变成”Thy r stdnts.”
//输入：
//They are students.
//aeiou
//输出：
//Thy r stdnts.
//int if_not_exist(char c, char* str)
//{
//    while (*str)
//    {
//        if (c == *str)
//        {
//            return 0;
//        }
//        str++;
//    }
//    return 1;
//}

 //int main()
 //   {
 //       char arr1[100] = { 0 };
 //       char arr2[100] = { 0 };
 //       gets(arr1);
 //       gets(arr2);
 //       size_t len = strlen(arr1);
 //       int i = 0;
 //       for (i = 0; i < len; i++)
 //       {
 //           /*if (if_not_exist(arr1[i], arr2))
 //           {
 //               printf("%c", arr1[i]);
 //           }*/

 //           if (strchr(arr2, arr1[i]) == NULL)
 //           {
 //               printf("%c", arr1[i]);
 //           }
 //       }
 //       return 0;
 //   }

//给定一个正整数 𝑁(1≦𝑁≦2×109)。
//现在需要将其转换为千分位格式，即从整数最低位开始，每三位数字插入一个英文逗号，以提高可读性。
//例如，对于 980364535，转换后为 980, 364, 535。
//请编写程序完成该格式转换。 输入描述： 在一行中输入一个整数 𝑁(1≦𝑁≦2×109)。
//输出描述： 输出一个字符串，表示将 𝑁 转换为千分位格式后的结果。
//请不要输出多余的空格或换行。
//输入： 980364535 复制
//输出： 980, 364, 535
//int main()
//{
//	//i++   先使用在自增
//	//++i   先加1在使用
//	int n = 0;
//	scanf("%d", &n);
//	char  arr[14] = { 0 };
//	int i = 0;
//	int k = 0;
//	while (n)
//	{
//		if (k != 0 && k % 3 == 0)
//		{
//			arr[i++] = ',';
//		}
//		arr[i++] = n % 10 + '0';
//		n /= 10;
//		k++;
//	}
//	int j = 0;
//	for (j = i - 1; j >= 0; j--)
//	{
//		printf("%c", arr[j]);
//	}
//	return 0;
//}

//版本1：
// 有一个数组，其中只有一个数字出现1次，其余数字都出现两次
//例如：1 2 3 4 5 1 2 3 4
//版本2：
//有一个数组中只有两个数字是出现一次，其他所有数字都出现了两次
// ^ 按位异或   相同为0， 相异为1
//&  两个同时为1才为1  
//void find_single_dog(int arr[], int sz, int single_dog[])
//{
//	int ret = 0;
//	int i = 0;
//	for (i = 0; i < sz; i++)
//	{
//		ret ^= arr[i];
//	}
//	//计算ret的哪一位是1
//	int pos = 0;
//	for (i = 0; i < 32; i++)
//	{
//		if ((ret >> i) & 1 == 1)
//		{
//			pos = i;
//			break;
//		}
//	}
//	for (i = 0; i < sz; i++)
//	{
//		if ((arr[i] >> pos) & 1 == 1)
//		{
//			single_dog[0] ^= arr[i];
//		}
//		else
//		{
//			single_dog[1] ^= arr[i];
//		}
//	}
//
//}
//int main()
//{
//	int arr[] = { 1,3,4,5,6,1,3,4, };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	int single_dog[2] = { 0 };
//	find_single_dog(arr, sz, single_dog);
//	printf("%d  %d", single_dog[0], single_dog[1]);
//	return 0;
//}